home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Gekkan Dennou Club 147
/
Gekkan Dennou Club - 2000.8 Vol. 147 (Japan).7z
/
Gekkan Dennou Club - 2000.8 Vol. 147 (Japan) (Track 1).bin
/
docs
/
ippon
/
ver
/
004
/
ippon004.lzh
/
player.c
< prev
next >
Wrap
C/C++ Source or Header
|
2000-07-07
|
1KB
|
79 lines
/* player.c */
#include <sys/iocs.h>
#include <xsp2lib.h>
#include "main.h"
#include "player.h"
enum {
PLAYER_PT_RIGHT2 = 0, /* 自機が一番右に傾いている時のパターン */
PLAYER_PT_RIGHT1, /* 〃 少し右に 〃 */
PLAYER_PT_CENTER, /* 〃 正面を向いている時のパターン */
PLAYER_PT_LEFT1, /* 自機が少し右に傾いている時のパターン */
PLAYER_PT_LEFT2 /* 〃 一番右に 〃 */
};
/* ゲーム開始時に呼ばれる */
void PlayerInit (void)
{
}
/* プレイヤー出現時に呼ばれる */
void PlayerAlloc (void)
{
player->x = 144;
player->y = 144;
}
/* 垂直同期ごとに呼ばれる */
void PlayerMove (void)
{
int j; /* ジョイスティックの入力 */
j = _iocs_joyget (0); /* ジョイスティック0番 */
/* [A] ボタンが押されたか? */
if ((j & 0b00100000) == 0)
game_over = !0; /* ゲームオーバーに */
/* 自機の上下移動処理 */
switch (j & 0b0011) {
case 0b0010: /* 上 */
player->y--;
break;
case 0b0001: /* 下 */
player->y++;
break;
default: /* それ以外 */
break;
}
/* 自機の左右移動処理 */
switch (j & 0b1100) {
case 0b1000: /* 左 */
player->x--;
break;
case 0b0100: /* 右 */
player->x++;
break;
default: /* それ以外 */
break;
}
xobj_set (player->x, player->y, obj_player + PLAYER_PT_CENTER, 0x073f); /* 自機を表示 */
}
/* プレイヤー消去時に呼ばれる */
void PlayerFree (void)
{
}